package gui

import java.util.ArrayList
import java.util.HashSet

/**
 * Dieses Objekt enthaelt wichtige Konstanten
 * des Programms, so z. B. den Dateinamen fuer
 * die Einstellungsdatei oder auch verschiedene
 * Ada-spezifische Konstanten fuer die Highlighter.
 */

object CONST {
  
  val CONFIG_FILE = "config.properties"
  
  val MODE_ADA = 0
  val MODE_WHILE = 1
  
  val FILE_TYPES:Array[ArrayList[String]] = new Array[ArrayList[String]](2)
      FILE_TYPES(MODE_ADA) = new ArrayList[String]()
      FILE_TYPES(MODE_ADA).add("adb")
      FILE_TYPES(MODE_ADA).add("txt")
      FILE_TYPES(MODE_WHILE) = new ArrayList[String]()
      FILE_TYPES(MODE_WHILE).add("txt")
  
  val FILE_TYPES_DIR:Array[ArrayList[String]] = new Array[ArrayList[String]](2)
      FILE_TYPES_DIR(MODE_ADA) = new ArrayList[String]()
      FILE_TYPES_DIR(MODE_ADA).add("adb")
      FILE_TYPES_DIR(MODE_WHILE) = new ArrayList[String]()
      FILE_TYPES_DIR(MODE_WHILE).add("txt")
  
  val KEYWORDS:Array[HashSet[String]] = new Array[HashSet[String]](2);
      KEYWORDS(MODE_ADA) = new HashSet[String]();
      KEYWORDS(MODE_ADA).add("abort");
      KEYWORDS(MODE_ADA).add("abs");
      KEYWORDS(MODE_ADA).add("abstract");
      KEYWORDS(MODE_ADA).add("accept");
      KEYWORDS(MODE_ADA).add("access");
      KEYWORDS(MODE_ADA).add("aliased");
      KEYWORDS(MODE_ADA).add("all");
      KEYWORDS(MODE_ADA).add("and");
      KEYWORDS(MODE_ADA).add("array");
      KEYWORDS(MODE_ADA).add("at");
      KEYWORDS(MODE_ADA).add("begin");
      KEYWORDS(MODE_ADA).add("body");
      KEYWORDS(MODE_ADA).add("case");
      KEYWORDS(MODE_ADA).add("constant");
      KEYWORDS(MODE_ADA).add("declare");
      KEYWORDS(MODE_ADA).add("delay");
      KEYWORDS(MODE_ADA).add("delay");
      KEYWORDS(MODE_ADA).add("digits");
      KEYWORDS(MODE_ADA).add("do");
      KEYWORDS(MODE_ADA).add("else");
      KEYWORDS(MODE_ADA).add("elsif");
      KEYWORDS(MODE_ADA).add("end of line");
      KEYWORDS(MODE_ADA).add("end");
      KEYWORDS(MODE_ADA).add("entry");
      KEYWORDS(MODE_ADA).add("exception");
      KEYWORDS(MODE_ADA).add("exit");
      KEYWORDS(MODE_ADA).add("for");
      KEYWORDS(MODE_ADA).add("function");
      KEYWORDS(MODE_ADA).add("generic");
      KEYWORDS(MODE_ADA).add("goto");
      KEYWORDS(MODE_ADA).add("if");
      KEYWORDS(MODE_ADA).add("in");
      KEYWORDS(MODE_ADA).add("is");
      KEYWORDS(MODE_ADA).add("limited");
      KEYWORDS(MODE_ADA).add("loop");
      KEYWORDS(MODE_ADA).add("mod");
      KEYWORDS(MODE_ADA).add("new");
      KEYWORDS(MODE_ADA).add("not");
      KEYWORDS(MODE_ADA).add("null");
      KEYWORDS(MODE_ADA).add("of");
      KEYWORDS(MODE_ADA).add("or");
      KEYWORDS(MODE_ADA).add("other control function");
      KEYWORDS(MODE_ADA).add("others");
      KEYWORDS(MODE_ADA).add("out");
      KEYWORDS(MODE_ADA).add("package");
      KEYWORDS(MODE_ADA).add("pair of quotation mark");
      KEYWORDS(MODE_ADA).add("pragma");
      KEYWORDS(MODE_ADA).add("private");
      KEYWORDS(MODE_ADA).add("procedure");
      KEYWORDS(MODE_ADA).add("protected");
      KEYWORDS(MODE_ADA).add("quotation mark");
      KEYWORDS(MODE_ADA).add("raise");
      KEYWORDS(MODE_ADA).add("range");
      KEYWORDS(MODE_ADA).add("record");
      KEYWORDS(MODE_ADA).add("rem");
      KEYWORDS(MODE_ADA).add("renames");
      KEYWORDS(MODE_ADA).add("requeue");
      KEYWORDS(MODE_ADA).add("return");
      KEYWORDS(MODE_ADA).add("reverse");
      KEYWORDS(MODE_ADA).add("select");
      KEYWORDS(MODE_ADA).add("separate");
      KEYWORDS(MODE_ADA).add("subtype");
      KEYWORDS(MODE_ADA).add("tagged");
      KEYWORDS(MODE_ADA).add("task");
      KEYWORDS(MODE_ADA).add("terminate");
      KEYWORDS(MODE_ADA).add("then");
      KEYWORDS(MODE_ADA).add("type");
      KEYWORDS(MODE_ADA).add("until");
      KEYWORDS(MODE_ADA).add("use");
      KEYWORDS(MODE_ADA).add("when");
      KEYWORDS(MODE_ADA).add("while");
      KEYWORDS(MODE_ADA).add("with");
      KEYWORDS(MODE_ADA).add("xor");

      KEYWORDS(MODE_WHILE) = new HashSet[String]();
          
}


 